package com.juzi.statickeyword;

public class Introduce {
    public static void main(String[] args) {
        System.out.println("==============================================\n" +
                "static是什么\n" +
                "static是静态的意思，可以用来修饰成员变量、成员方法。\n" +
                "static修饰成员变量之后称为静态成员变量（类变量），修饰方法之后称为静态方法（类方法）。\n" +
                "static修饰后的成员变量，可以被类的所有对象共享（访问、修改)。\n" +
                "public class User {\n" +
                "    static String name;\n" +
                "    int age;\n" +
                "}\n" +
                "--------------------------------------\n" +
                "static是什么 ？\n" +
                "静态的意思，可以修饰成员变量、成员方法\n" +
                "--------------------------------------\n" +
                "static修饰的成员变量是什么？ 有什么特点？\n" +
                "静态成员变量（有static修饰，属于类、加载一次，内存中只有一份），访问格式\n" +
                "\n" +
                "类名.静态成员变量(推荐)\n" +
                "对象.静态成员变量(不推荐)。\n" +
                "\n" +
                "--------------------------------------\n" +
                "实例成员变量（无static修饰，属于对象），访问格式：\n" +
                "        \n" +
                "对象.实例成员变量。\n" +
                "--------------------------------------\n" +
                "两种成员变量各自在什么情况下定义？\n" +
                "静态成员变量：表示在线人数等需要被类的所有对象共享的信息时。\n" +
                "实例成员变量：属于每个对象，且每个对象的该信息不同时（如：name,age,money…）\n" +
                "--------------------------------------\n" +
                "成员方法的分类：\n" +
                "静态成员方法（有static修饰，归属于类），建议用类名访问，也可以用对象访问。\n" +
                "实例成员方法（无static修饰，归属于对象），只能用对象触发访问。\n" +
                "--------------------------------------\n" +
                "使用场景\n" +
                "表示对象自己的行为的，且方法中需要访问实例成员的，则该方法必须申明成实例方法。\n" +
                "如果该方法是以执行一个共用功能为目的，则可以申明成静态方法。\n" +
                "--------------------------------------\n" +
                "成员方法的分类和访问分别是什么样的？\n" +
                " 静态成员方法（有static修饰，属于类和对象共享）访问格式：\n" +
                "类名.静态成员方法。\n" +
                "对象.静态成员方法。（不推荐）\n" +
                "实例成员方法（无static修饰，属于对象）的访问格式：\n" +
                "对象.实例成员方法。\n" +
                "--------------------------------------\n" +
                "每种成员方法的使用场景是怎么样的？\n" +
                " 表示对象自己的行为的，且方法中需要直接访问实例成员，则该方法必须申明成实例方法。\n" +
                " 如果该方法是以执行一个通用功能为目的，或者需要方便访问，则可以申明成静态方法\n" +
                "--------------------------------------\n" +
                "static访问注意事项：\n" +
                "静态方法只能访问静态的成员，不可以直接访问实例成员。\n" +
                "实例方法可以访问静态的成员，也可以访问实例成员。\n" +
                "静态方法中是不可以出现this关键字的。 \n" +
                "--------------------------------------\n" +
                "");
    }
}
